<?php
// Контроллер для работы с пользователем и проэктами.
class UserController extends Controller
{




	//Выводим информацию о пользователе и список проэктов пользователя.
	public function actionIndex()
	{

		//$cs=Yii::app()->getClientScript()->registerCoreScript('jquery');
		//$cs->registerScriptFile(Yii::app()->request->baseUrl.'/js/jquery-ui-i18n.min.js', CClientScript::POS_HEAD);
		//$cs->registerCssFile(Yii::app()->request->baseUrl.'/css/jquery-ui-i18n.min.css');
		$user = User::model()->findByPk(Yii::app()->user->id);
		$project = Project::model()->recently()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
		$input="www";
		$output="qwe";


		// если запрос не асинхронный, отдаём форму полностью

		$this->render('index',array('user'=>$user, 'projects'=>$project,'input'=>$input,
        'output'=>$output,));
			

	}

	// Эта функция вызывается аяксом Дабавляет новый проэкт
	public function actionAdd()
	{

			
		if(isset($_POST['input_name']))
		{
			$input_name = $_POST['input_name'];
			$input_about = $_POST['input_about'];

		}
		if(Yii::app()->request->isAjaxRequest)
		{

			$project = new Project();

			$project->project_name=$input_name;
			$project->about=$input_about;
			$project->user_id=Yii::app()->user->id;
			$project->create_date=date('Y-m-d');
			$project_find = Project::model()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
			if($project->save())
			{
				//Расчет максимального занчения Номера проэкта
				$project_find = Project::model()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
				$count=Project::model()->count("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
				$max=$project_find[0]['projectnum'];
				for ($i = 1; $i < $count; $i++) {
					if($project_find[$i]['projectnum']>$max)
					{
						$max=$project_find[$i]['projectnum'];
					}
				}
				$project->projectnum=$max+1;

				$project->save();
			}
				
			//Составление обновленного списка проэктов
			$project = Project::model()->recently()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
			$input_name='';
			//asort($project);
			foreach ($project as $key)
			{

				$input_name.= "<li class='todo' id='recArray_".$key->projectnum."'><div class='text'>".$key->project_name.'</div>
			<div class="action"><a class="open" href=/main/'.$key->project_id.'>open</a>
			<a class="delete" href="#">Delete</a></div>
			</li>';

			}
			//Вывод на экран обновленного списка проэктов
			echo $input_name;

		}

	}

	public function actionSortAndSave()
	{
		$project = Project::model()->recently()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
		//
		$updateRecordArray=$_POST['recArray'];



		$i=0;

		foreach ($project as $key)
		{
				
		 $project[$updateRecordArray[$i]-1]['projectnum']=$i+1;
			$project[$updateRecordArray[$i]-1]->save();
			$i++;
		}
			
		$project = Project::model()->recently()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
			$i=1;
		foreach ($project as $key)
		{
				
				echo "<li class='todo' id='recArray_".$i."'><div class='text'>".$key->project_name.'</div>
			<div class="action"><a class="open" href=/main/'.$key->project_id.'>open</a>
			<a class="delete" href="#">Delete</a></div>
			</li>';
				$i++;
		}


	}
	
	public function actionDel() {
		
		Project::model()->deleteByPk($_POST['id']);
		
		$project = Project::model()->recently()->findAll("user_id=:user_id",array(':user_id'=>Yii::app()->user->id));
			$i=1;
		foreach ($project as $key)
		{
				
				echo "<li class='todo' id='recArray_".$i."'><div class='text'>".$key->project_name.'</div>
			<div class="action"><a class="open" href=/main/'.$key->project_id.'>open</a>
			<a class="delete" href="#" onClick="del('.$key->project_id.')">Delete</a></div>
			</li>';
				$i++;
		}
		
		
	}

	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
	// return the filter configuration for this controller, e.g.:
	return array(
	'inlineFilterName',
	array(
	'class'=>'path.to.FilterClass',
	'propertyName'=>'propertyValue',
	),
	);
	}

	public function actions()
	{
	// return external action classes, e.g.:
	return array(
	'action1'=>'path.to.ActionClass',
	'action2'=>array(
	'class'=>'path.to.AnotherActionClass',
	'propertyName'=>'propertyValue',
	),
	);
	}
	*/
}